fontchooser: Assume NULL screen means the default screen
authorBenjamin Otte <otte@redhat.com>
Mon, 19 Sep 2011 16:35:57 +0000 (18:35 +0200)
committerBenjamin Otte <otte@redhat.com>
Mon, 19 Sep 2011 20:11:06 +0000 (22:11 +0200)
... and update the font list only when the screen actually changes.

gtk/gtkfontchooserwidget.c

index e1cf90a19b14f19b1e0c9d0b7f233765709275a9..32160a92e8950b8944cb2c4b9d3f2e9d1b266d44 100644 (file)
@@ -715,9 +715,6 @@ populate_list (GtkFontChooserWidget *fontchooser,
   gchar *tmp;
   gchar *family_and_face;
 
-  if (!gtk_widget_has_screen (GTK_WIDGET (fontchooser)))
-    return;
-
   pango_context_list_families (gtk_widget_get_pango_context (GTK_WIDGET (treeview)),
                                &families,
                                &n_families);
@@ -967,6 +964,12 @@ gtk_font_chooser_widget_screen_changed (GtkWidget *widget,
   if (GTK_WIDGET_CLASS (gtk_font_chooser_widget_parent_class)->screen_changed)
     GTK_WIDGET_CLASS (gtk_font_chooser_widget_parent_class)->screen_changed (widget, previous_screen);
 
+  if (previous_screen == NULL)
+    previous_screen = gdk_screen_get_default ();
+
+  if (previous_screen == gtk_widget_get_screen (widget))
+    return;
+
   populate_list (fontchooser,
                  GTK_TREE_VIEW (priv->family_face_list),
                  priv->model);